package com.tjtt.tdm.system.dao;
import java.util.List;
import java.util.Map;

import com.tjtt.tdm.base.EntityDAO;
import com.tjtt.tdm.base.PageResult;
import com.tjtt.tdm.exception.DaoException;
import com.tjtt.tdm.system.bean.Role;
import com.tjtt.tdm.system.bean.UserRole;

public interface RoleDao extends EntityDAO<Role> {
	/**
	 * 通过主键id查询用户信息
	 * @author 宿馨月
	 * @date 2012-10-15 下午14:20:30
	 */
	public Role getRoleById(long roleid);
	/**
	 * 系统角色树形展示
	 * @param filterMap
	 * @return
	 * @throws DaoException List<Role>
	 * @author 詹晓梅
	 * @date 2013-1-23 下午02:22:16
	 */
	public List<Role> findRoleTree(Map filterMap) throws DaoException;
	/**
	 * 查询角色名称是否存在
	 * @param rolename
	 * @param filterMap
	 * @return
	 * @throws DaoException PageResult
	 * @author 詹晓梅
	 * @date 2013-1-24 上午10:09:32
	 */
	//public PageResult findRoleByName(String rolename,Map<String, String> filterMap)throws DaoException;
	
	public Role findRoleByName(String rName);
	/**
	 * 查询角色的用户
	 * @param ids
	 * @param filterMap
	 * @return
	 * @throws DaoException PageResult
	 * @author 詹晓梅
	 * @date 2013-1-30 下午05:21:35
	 */
	public PageResult searchUserByRole(Long roleid, Map<String, String> filterMap);
	
	
	public PageResult searchUserList(Map<String, String> filterMap);
	/**
	 * 角色下增加人员
	 * @param roleid void
	 * @author 詹晓梅
	 * @date 2013-1-31 下午05:41:26
	 */
	public UserRole saveUserToRole(UserRole userRole);
	/**
	 * 删除角色下人员
	 * @param userRole
	 */
	public void delete(UserRole userRole);
	
	public PageResult queryUserList(Long roleid, Map<String, String> filterMap);
	
	public List queryListBySql(String sql);
	//根据角色查询用户
	public PageResult queryUserByRole(String roleid, Map<String, String> filterMap);
}
